#ifndef __IANGELS_MACRO_H__
#define __IANGELS_MACRO_H__

#include "log.h"

#include <cstdlib>
#include <cstring>

namespace iangels {

#define IANGELS_CHECK(condition, ret, ...)  do { \
    if (!(condition)) { \
        LOG_ERROR(__VA_ARGS__); \
        return ret; } \
} while (0)

#define IANGELS_CHECK_RET(predicate, ...)  do { \
    Ret ret = predicate; \
    if (ret != SUCCESS) { \
        LOG_ERROR(__VA_ARGS__); \
        return ret; } \
} while (0)



} // namespace iangels

#endif  // __IANGELS_MACRO_H__